package com.itheima.practice;

import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

public class TreeSetPractice {
    public static void main(String[] args) {
        /**  步骤：
         * 1.创建TreeSet集合，添加Person对象，按照年龄进行排序
         * 2.scanner输入对象，监听键盘输入
         * 3.for循环，键盘输入，添加数据
         * 4.在每个循环中：
         *  提示用户一次输入，姓名，年龄，语文，数学，英语
         *  创建Person对象，把键盘输入的数据赋值给Person对象的成员变量
         *  把Person对象添加到TreeSet集合中
         *  5.遍历TreeSet集合，获取每一个Person对象，并打印
         */
        //1. 创建TreeSet集合，添加Person对象，按照年龄进行排序
        TreeSet<Person> ts = new TreeSet<Person>(
                //匿名内部类
                new Comparator<Person>() {
                    @Override
                    public int compare(Person o1, Person o2) {
                        return (int) (o2.getChinese() + o2.getMath() + o2.getEnglish() - o1.getChinese() - o1.getMath() - o1.getEnglish());
                    }
                }

        );
        //2. scanner输入对象，监听键盘输入
        Scanner  sc = new Scanner(System.in);
        //3. for循环，键盘输入，添加数据
        for (int i = 0; i < 3; i++) {
            System.out.println("请输入第"+(i+1)+"个学生的信息：");
            System.out.println("请输入姓名：");
            String name = sc.next();
            System.out.println("请输入语文成绩");
            double chinese = sc.nextDouble();
            System.out.println("请输入数学成绩");
            double math = sc.nextDouble();
            System.out.println("请输入英语成绩");
            double english = sc.nextDouble();

            //4.创建Person对象，把键盘录入的数据封装到Person对象中
            Person p = new Person(name, chinese, math, english);
            //5.把Person对象添加到TreeSet集合中
            ts.add(p);

        }
        //6.遍历TreeSet集合，获取每一个Person对象，并打印
        for (Person person : ts) {
            System.out.println(person);

        }

    }
}
